package org.groovymud.engine.event;

import org.apache.log4j.Logger;

/* Copyright 2008 Matthew Corby-Eaglen
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */

public abstract class ScopedEvent implements Cloneable {

	protected Object source;
	protected EventScope scope;

	protected Logger logger = Logger.getLogger(ScopedEvent.class);
	private boolean consumed;

	public EventScope getScope() {
		return scope;
	}

	public void setScope(EventScope scope) {
		this.scope = scope;
	}

	public void setSource(Object object) {
		this.source = object;
	}

	public Object getSource() {
		return source;
	}

	public void consume() {
		consumed = true;
	}

	public boolean isConsumed() {
		return consumed;
	}
}
